First-Screen Navigation with Channel Surfing, Backdrop Reviewing and Content Peeking

ABSTRACT

A method is implemented at an Internet-connected remote control device for reviewing content channels on an Internet-connected display device that is associated with the remote control device via a user account maintained at a server. In response to receiving a user actuation of a user button, the remote control identifies a first Internet content channel that is currently being displayed on the display device, and obtains a preferred channel list including a sequence of Internet content channels that is associated with the user account and includes the first Internet content channel. The remote control then identifies a second Internet content channel that follows the first Internet content channel in the preferred channel list, and transmits to the server a first channel change message including information of the second Internet content channel to cause the Internet-connected display device to display media content provided by the second content channel.

TECHNICAL FIELD

This application relates generally to computer technology, including butnot limited to methods and systems for controlling display of mediacontent on one or more output display devices within a smart mediadisplay environment based on user proximity and/or location detectedwith respect to one or more casting devices.

BACKGROUND

Media display devices are employed to stream a variety of media content(e.g., TV, movies, live broadcasts, personal video, etc.) provided via anetwork to a display device. Media display devices include a variety ofconnected display devices, such as smart phones, set top boxes, orconnected television devices. The casting devices and smart televisiondevices are often controlled via remote control interfaces that can bedisplayed directly on the media display devices or separately on asecond screen mobile device (e.g., a tablet computer, laptop, or mobilephone). A user can browse through a list of content items and search formedia content on remote control interfaces displayed on the mediadisplay devices or the second screen mobile devices.

Compared with conventional television devices and traditional remotecontrols, a typical remote control interface for a media streamingdevice often provides a comprehensive but complicated user experiencethat can be overwhelming and hard for users to follow. For example, sucha remote control interface might require a user to navigate multiplemenus and/or type on an awkward keyboard (virtual or physical) to reacha destination related to desired media content, whether that is a website or a media steaming service. Even worse, when a user does not havea particular program or channel in mind to watch, typical remote controlinterfaces for media streaming devices offer little user guidance andalso do not facilitate an easy and convenient behavior for browsingavailable content (e.g., similar to: channel surfing” using aconventional remote control and television device. In addition, when asecond screen mobile device (such as a smart phone) or another remotecontrol device is used to control display of media content via a remotecontrol interface, the resulting user experience is generally lessintuitive than the first screen experience offered by conventionaltelevision devices and remote controls due in part to the inherentcomplexity of such second screen mobile devices.

Providing further complexity, content preview and secondary information(e.g., related news feeds and images) that can be provided on a remotecontrol interface for a media streaming device can distract from contentbeing displayed on a primary display regardless of whether thatadditional information is displayed on a second screen device (such as asmart phone) or alongside media content on the primary display.

Therefore, there is a need for convenient and intuitive remote controlinterfaces for controlling content displayed via casting devices, mediastreaming and smart television devices.

SUMMARY

Accordingly, this application is directed to an Internet-connectedremote control having a plurality of buttons. The remote control isdisposed in proximity to a display device and configured to controldisplay of media content received from a plurality of content channelson the display device, and the display device is associated with anInternet-enabled casting device configured to receive the media contentfrom the one or more content channels. When the display device displaysthe media content from these content channels, the plurality of buttonsof the remote control creates first screen experience similar to thoseavailable to conventional television devices. Specifically, the remotecontrol includes a quick cast button that immediately plays mediacontent provided by one of the content channels, a cycle button thatsequentially launches content associated with a list of selected contentchannels (e.g., Netflix and YouTube), and a previous/next button thatallows forwarding and rewinding among different programs in a specificchannel. In some implementations, the remote control includes adedicated button for previewing upcoming content associated with aprogram that is currently displayed on the display device or displayingbackdrop information related to the media content currently displayed onthe display device. Alternatively, the remote control configures anexisting button (e.g., by requiring an extended button holding time) totrigger any of the above media control functions for the display device.

In accordance with one aspect of this application, a method of reviewingcontent channels on an Internet-connected display device is implementedat an Internet-connected remote control device having a first userbutton, one or more processors and memory storing one or more programsfor execution by the one or more processors. The remote control deviceand the display device are associated with a first user accountmaintained at a server. The method includes in response to receiving auser actuation of the first user button, identifying a first Internetcontent channel that is currently being displayed on the display deviceand obtaining a preferred channel list that includes a sequence ofInternet content channels that is associated with the first user accountand that is arranged according to a predetermined channel order. Thesequence of Internet content channels includes the first Internetcontent channel. The method further includes in accordance with thepreferred channel list, identifying a second Internet content channelthat follows the first Internet content channel in the preferred channellist, and transmitting to the server a first channel change messageincluding information of the second Internet content channel to causethe Internet-connected display device to display media content providedby the second content channel.

In accordance with another aspect of this application, an electronicdevice is configured to enable reviewing content channels on anInternet-connected display device. The electronic device includes one ormore processors, and memory storing one or more programs to be executedby the one or more processors. The one or more programs further includeinstructions for implementing the operations of the above method forreviewing the content channels on the Internet-connected display device.

In accordance with another aspect of this application, a non-transitorystorage medium stores one or more programs to be executed by one or moreprocessors. The one or more programs further include instructions forimplementing the operations of the above method for reviewing thecontent channels on the Internet-connected display device.

In accordance with some implementations, an electronic device includesmeans for performing the operations of any of the methods describedabove.

In accordance with another aspect of this application, a method ofreviewing content channels on an Internet-connected display device isimplemented at an Internet-enabled casting device having one or moreprocessors and memory storing one or more programs for execution by theone or more processors. The Internet-enabled casting device, anInternet-based remote control device and the Internet-connected displaydevice are associated with a first user account maintained at a server.The method includes in response to a user actuation on a first button ofthe remote control device, identifying a first Internet content channelthat is currently being displayed on the display device and obtaining apreferred channel list that includes a sequence of Internet contentchannels that is associated with the first user account and that isarranged according to a predetermined channel order. The sequence ofInternet content channels includes the first Internet content channel.The method further includes in accordance with the preferred channellist, identifying a second Internet content channel that follows thefirst Internet content channel in the preferred channel list, andcausing the Internet-connected display device to display media contentprovided by the second content channel.

In accordance with another aspect of this application, a method ofreviewing content channels on an Internet-connected display device isimplemented at a server having one or more processors and memory storingone or more programs for execution by the one or more processors. Theserver is coupled to the Internet-connected display device and anInternet-connected remote control device that are associated with afirst user account maintained at the server. The method includes inresponse to a user actuation on a first button of the remote controldevice, identifying a first Internet content channel that is currentlybeing displayed on the display device and obtaining a preferred channellist that includes a sequence of Internet content channels that isassociated with the first user account and that is arranged according toa predetermined channel order. The sequence of Internet content channelsincludes the first Internet content channel. The method further includesin accordance with the preferred channel list, identifying a secondInternet content channel that follows the first Internet content channelin the preferred channel list, and sending a first channel changemessage including information of the second content channel to cause theInternet-connected display device to display media content provided bythe second content channel.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the various described implementations,reference should be made to the Description of Implementations below, inconjunction with the following drawings in which like reference numeralsrefer to corresponding parts throughout the figures.

FIG. 1 is an example smart media display environment in accordance withsome implementations.

FIG. 2 is an example operating environment in which a remote controldevice interacts with display devices and a server system of a smartmedia display environment in accordance with some implementations.

FIG. 3A is an example Internet-connected remote control device thatincludes a plurality of user buttons and is configured to controlreviewing media content on an Internet-connected display device in asmart media display environment in accordance with some implementations,and FIG. 3B is a block diagram illustrating the remote control deviceshown in FIG. 3A in accordance with some implementations.

FIG. 4 is a block diagram illustrating an example client device that isapplied for controlling media devices, smart home devices and remotecontrol devices in a smart media display environment in accordance withsome implementations.

FIG. 5 is a block diagram illustrating an example casting device appliedfor control of display of media content on a display device in a smartmedia display environment in accordance with some implementations.

FIG. 6A is a block diagram illustrating a server (e.g., a cast devicehost) of a smart media display environment in accordance with someimplementations, and FIG. 6B is an example device register of a serverthat stores information of one or more user accounts managed by theserver system and information of user devices associated with each ofthe one or more user accounts in accordance with some implementations.

FIG. 7 is an example user interface displayed on a client device forprompting a user to define a preferred channel list of a remote controldevice associated with a user account managed by a server in accordancewith some implementations.

FIGS. 8-10 illustrate Internet content channel reviewing processesinitiated by a user actuation of a user button on a remote controldevice in accordance with some implementations.

FIG. 11 is a block diagram showing a program reviewing processesinitiated by a user actuation of a user button (e.g., a previous buttonand a next button) on a remote control device in accordance with someimplementations.

FIG. 12 is a block diagram showing a content previewing processesinitiated by a user actuation of a user button (e.g., a preview/backdropbutton) on a remote control device in accordance with someimplementations.

FIG. 13 is a block diagram showing a backdrop reviewing processesinitiated by a user actuation of a user button (e.g., a preview/backdropbutton) on a remote control device in accordance with someimplementations.

FIG. 14 is a flowchart of a method of reviewing Internet contentchannels on an Internet-connected display device in accordance with someimplementations.

Like reference numerals refer to corresponding parts throughout theseveral views of the drawings.

DESCRIPTION OF IMPLEMENTATIONS

In various implementations of the application, a smart media environmentincludes at least one display device that is controlled by anInternet-connected remote control for playing media content receivedfrom a plurality of Internet content channels. Specifically, in someimplementations, the Internet-connected remote control is disposed inproximity to the display device and configured to control display of themedia content received from the plurality of Internet content channels.In some implementations, the remote control and the display device arenot physically in proximity to each other, and are associated with auser account maintained at a remote server of the smart mediaenvironment. Further, the display device can be associated with anInternet-enabled casting device that is also linked to the user accountassociated with the display and remote control devices, and the castingdevice is configured to receive the media content from the one or morecontent channels for the display device.

The Internet-based remote control includes a plurality of user buttons.When the display device displays the media content from the Internetcontent channels, the plurality of user buttons of the remote controlhelp create first screen experience similar to those available toconventional television devices. The media content received from theInternet media channels is displayed on the display device automaticallyor with little user intervention when a user activates any of theplurality of user buttons. Stated another way, in response to a useractuation of any of the plurality of user buttons, no remote controlinterface or a simple remote control interface is displayed on theremote control or the display device, and no or little additionalinformation is displayed for the user to implement a subsequent useractuation of another user button. As such, the display device isconfigured to display media content from different Internet contentchannels as a conventional television device displays televisionchannels, thereby allowing surfing through content channels, surfingthrough programs of a specific channel, previewing subsequent contentand reviewing backdrop information related to currently displayed mediacontent.

For example, the Internet-connected remote control includes a quick castbutton, a cycle button, a previous/next button, and a preview/backdropbutton. While the display device is off and in response to a useractuation on the quick cast button, the remote control controls thedisplay device to immediately play media content provided by apredetermined Internet content channel (e.g., the content channel thatwas previously played prior to turning of the display device, a specificInternet content channel) as an old-fashioned television does. Further,in some implementations, a user actuation of a preview button or a useractuation of holding down a previous/next button allows the user to peekat upcoming content before committing to watch an associated programprovided by the Internet content channel. Similarly, a user actuation ofone of the user buttons enables displaying backdrop information (e.g.,supporting video) related to the media content currently displayed onthe display device (e.g., headline news).

In addition, a user actuation on the cycle button allows prompt switchto a subsequent content channel in a list of predetermined Internetcontent channels. The simple cycle button allows immediate play of mediacontent, and removes the unnecessary steps in typical cast interaction(e.g. unlock phone>open app>find content>tap cast button>selectreceiver). More importantly, consecutive user actuations of the cyclebutton enables swift and sequential launch of media content provided bya list of Internet content channels (e.g., Netflix and YouTube), andallows the user to surf through different Internet content channels todecide what the user is interested in. The user does not need to browsethrough a complicated remote control interface (e.g., an electronicprogram guide (EPG)), or select individual receiver applicationsassociated with the different content channels for displaying mediacontent received from the different content channels. The play/cyclebutton brings a serendipitous TV experience to casting of media contentprovided by Internet content sources, and enables a familiar paradigm toconventional television experience which allows the user to lean backand enjoy the media content.

Reference will now be made in detail to implementations, examples ofwhich are illustrated in the accompanying drawings. In the followingdetailed description, numerous specific details are set forth in orderto provide a thorough understanding of the various describedimplementations. However, it will be apparent to one of ordinary skillin the art that the various described implementations may be practicedwithout these specific details. In other instances, well-known methods,procedures, components, circuits, and networks have not been describedin detail so as not to unnecessarily obscure aspects of theimplementations.

FIG. 1 is an example smart media display environment 100 in accordancewith some implementations. The smart media display environment 100includes a structure 150 (e.g., a house, office building, garage, ormobile home) with various integrated devices. It will be appreciatedthat devices may also be integrated into a smart media displayenvironment 100 that does not include an entire structure 150, such asan apartment, condominium, or office space. The depicted structure 150includes a plurality of rooms 152, separated at least partly from eachother via walls 154. The walls 154 may include interior walls orexterior walls. Each room may further include a floor 156 and a ceiling158.

One or more media device is disposed in the smart media displayenvironment 100 to provide media content that is stored at a localcontent source or streamed from a remote content source. The mediadevices can be classified to two categories: display devices 106 thatdirectly output the media content to audience, and casting devices 108that streams media content to the display devices 106. Examples of thedisplay devices 106 include, but are not limited to television (TV)display devices and music players. Examples of the casting devices 108include, but are not limited to, a set-top boxes (STBs), DVD players andTV boxes. In the example smart media display environment 100, thedisplay devices 106 are disposed in more than one location, and eachdisplay device 106 is coupled to a respective casting device 108 orincludes an embedded casting unit. The display device 106-1 includes aTV display that is hard wired to a DVD player or a set top box 108-1.The display device 106-2 includes a smart TV device that integrates anembedded casting unit to stream media content for display to itsaudience. The display device 106-3 includes a regular TV display that iscoupled to a TV box 108-3 (e.g., Google TV or Apple TV products), andsuch a TV box 108-3 streams media content received from a media contentand provides an access to the Internet for displaying Internet-basedcontent on the display device 106-3.

In various implementations of this application, an Internet-connectedremote control device 190 having a plurality of user buttons is used inthe smart media display environment 100 to control reviewing Internetcontent channels on an Internet-connected display device 106. The remotecontrol device and the display device 106 are associated with a firstuser account maintained at a server (e.g., the smart media displayserver system 140). Optionally, the remote control device 190 isdisposed in proximity to the display device 106 and configured tocontrol display of media content received from a plurality of contentchannels (e.g., Internet content servers 114) on the display device 106.In some implementations, given that both the remote control device 190and the display device 106 are also associated via the server system140, the remote control device 190 and the display device 106 are notdisposed in proximity to each other. Further, in some implementations,the display device 106 is associated with an Internet-enabled castingdevice 104 configured to receive the media content from the one or moreInternet content channels. Stated another way, the remote control device190 and the casting device 104 are associated with the first useraccount maintained at the server system 140.

When the display device 106 displays the media content received from theInternet content channels, the plurality of buttons of the remotecontrol creates first screen experience similar to those available toconventional television devices without involving a complicated remotecontrol interface that is displayed on the display or remote controldevices and demands user intervention. In a specific example, the remotecontrol device 190 includes a quick cast button that allows immediateplay of media content provided by one of the Internet content channels,a cycle button that sequentially launches content associated with a listof selected/preferred content channels (e.g., Netflix and YouTube), anda previous/next button that allows forwarding and rewinding amongdifferent programs in a specific channel. In some implementations, theremote control includes a dedicated button for previewing upcomingcontent associated with a program that is currently displayed on thedisplay device or displaying backdrop information related to the mediacontent currently displayed on the display device. Alternatively, theremote control configures an existing button (e.g., by requiring anextended button holding time) to trigger any of the above media controlfunctions for the display device.

The smart home devices in the smart media display environment 100 mayinclude, but are not limited to, one or more intelligent, multi-sensing,network-connected thermostats 122, one or more intelligent,network-connected, multi-sensing hazard detectors 124, one or moreintelligent, multi-sensing, network-connected entryway interface devices126 and 128 (hereinafter referred to as “smart doorbells 126” and “smartdoor locks 128”), one or more intelligent, multi-sensing,network-connected alarm systems 130, one or more intelligent,multi-sensing, network-connected camera systems 132, one or moreintelligent, multi-sensing, network-connected microphone devices 134,one or more intelligent, multi-sensing, network-connected wall switches136, and one or more intelligent, multi-sensing, network-connected wallplug interfaces 142. In some implementations, the smart home devices inthe smart media display environment 100 of FIG. 1 includes a pluralityof intelligent, multi-sensing, network-connected appliances 138(hereinafter referred to as “smart appliances 138”), such asrefrigerators, stoves, ovens, televisions, washers, dryers, lights,stereos, intercom systems, garage-door openers, floor fans, ceilingfans, wall air conditioners, pool heaters, irrigation systems, securitysystems, space heaters, window AC units, motorized duct vents, and soforth.

The smart home devices in the smart media display environment 100 mayadditionally or alternatively include one or more occupancy sensors(e.g., touch screens, IR sensors, ambient light sensors and motiondetectors). In some implementations, the smart home devices in the smartmedia display environment 100 include radio-frequency identification(RFID) readers (e.g., in each room 152 or a portion thereof) thatdetermine occupancy based on RFID tags located on or embedded inoccupants. For example, RFID readers may be integrated into the smarthazard detectors 104.

In some implementations, in addition to containing sensing capabilities,devices 122, 124, 126, 128, 130, 132, 134, 136 and 138 (which arecollectively referred to as “the smart home devices” or “the smart homedevices 120”) are capable of data communications and information sharingwith other smart home devices, a central server or cloud-computingsystem, and/or other devices (e.g., the client device 104, the displaydevices 106, the casting devices 108 and the remote control devices 190)that are network-connected. Similarly, the casting devices 108 and theremote control devices 190 are capable of data communications andinformation sharing with the smart home devices, a central server orcloud-computing system, and/or other devices (e.g., the client device104 and the other casting devices 108) that are network-connected. Datacommunications may be carried out using any of a variety of custom orstandard wireless protocols (e.g., IEEE 802.15.4, Wi-Fi, ZigBee,6LoWPAN, Thread, Z-Wave, Bluetooth Smart, ISA100.11a, WirelessHART,MiWi, etc.) and/or any of a variety of custom or standard wiredprotocols (e.g., Ethernet, HomePlug, etc.), or any other suitablecommunication protocol, including communication protocols not yetdeveloped as of the filing date of this document.

In some implementations, the display devices 106, the casting devices108, the remote control devices 190 and the smart home devices serve aswireless or wired repeaters. In some implementations, a first one of thedisplay devices 106, the casting devices 108, the remote control devices190 and the smart home devices communicates with a second one of theseaforementioned devices directly via a wireless router. The displaydevices 106, the casting devices 108, the remote control devices 190 andthe smart home devices may further communicate with each other via aconnection (e.g., network interface 160) to a network, such as theInternet 112. Through the Internet 112, the display devices 106, thecasting devices 108, the remote control devices 190 and the smart homedevices may communicate with a smart media display server system 140(also called a central server system and/or a cloud-computing systemherein). Optionally, the smart media display server system 140 may beassociated with a manufacturer, support entity, or service providerassociated with the casting devices 108 and the media content displayedto the user. Accordingly, the smart media display server system 140 mayinclude one or more content servers 104 that provide the displayed mediacontent, and a cast device host 116 that manages the display devices106, the casting devices 108, the remote control devices 190 and thesmart home devices associated with different user accounts. In someimplementations, the cast device host 116 further stores a deviceregister that storing information of one or more user accounts andinformation of user devices associated with each of the one or more useraccounts.

In an example, an Internet-connected remote control device 190 iscoupled via a short-range communication link (e.g., a Bluetoothcommunication link) to a display device 106, a casting device 180 or asmart home device that are associated with the remote control device 190via a user account managed by the cast device host 116. The display,casting or smart home device is further communicatively coupled to theserver system 140 via the Internet and other wide area, local area ormetropolitan area networks that are established based on the networkinterface 160. In another example, the Internet-connected remote controldevice 190 is coupled to the server system 140 and other display,casting or smart home devices via the Internet and other wide area,local area or metropolitan area networks that are established based onthe network interface 160.

In some implementations, the network interface 160 includes aconventional network device (e.g., a router). The smart media displayenvironment 100 of FIG. 1 further includes a hub device 180 that iscommunicatively coupled to the network(s) 112 directly or via thenetwork interface 160. The hub device 180 is further communicativelycoupled to one or more of the above intelligent, multi-sensing,network-connected devices (e.g., smart home devices of the smart mediadisplay environment 100, the casting devices 108 and the client device104). Each of these network-connected devices optionally communicateswith the hub device 180 using one or more radio communication networksavailable at least in the smart media display environment 100 (e.g.,ZigBee, Z-Wave, Insteon, Bluetooth, Wi-Fi and other radio communicationnetworks). In some implementations, the hub device 180 and devicescoupled with/to the hub device can be controlled and/or interacted withvia an application running on a smart phone, household controller,laptop, tablet computer, game console or similar electronic device. Insome implementations, a user of such controller application can viewstatus of the hub device or coupled network-connected devices, configurethe hub device to interoperate with devices newly introduced to the homenetwork, commission new devices, and adjust or view settings ofconnected devices, etc.

FIG. 2 is an example operating environment 200 in which a remote controldevice 190 interacts with display devices 106 and a server system 140 ofa smart media display environment 100 in accordance with someimplementations. The remote control device 190 and the display devices106 are associated with a first user account maintained at the serversystem 140 (e.g., a cast device host 116). The smart media displayenvironment 100 includes one or more locations, e.g., location A andlocation B. The user 102 is located at location A or B, and could movefreely between these two locations. A display device 106 are disposed ateach of the one or more locations in the display environment 100, andoptionally communicated to a casting device 108 via wired or wirelesscommunication available therein. The respective displays 106 areconfigured to obtain Internet content directly or indirectly via therespective casting devices 108 for display on the display devices 106under the control of the remote control device 190. In variousembodiments of this application, the remote control device 190 includesa plurality of user buttons, and is configured to control reviewing ofmedia content provided by Internet content channels on the displaydevices 106. In some implementations (e.g., at location A), the remotecontrol device 190 is disposed in proximity to the display device 106-1or the casting device 108-1, and includes one or more radios, e.g., afirst radio that supports a short-range communication link with thedisplay or casting device and a second radio that supports communicationvia with a local area network 110. Alternatively, in someimplementations (e.g., at location B), the display device 106-2 and thecasting device 108-2 are not disposed in proximity to the remote controldevice 190, and however, the remote control device 190 can stillcommunicate with the display device 106-2 or the casting device 108-2via the second radio and the associated local area network 110 tocontrol reviewing of Internet content on the display device 106-2.

In some implementations, the remote control device 190 includes one ormore processors and memory storing instructions for execution by the oneor more processors, and therefore, media control operations areinitiated and partially implemented by the remote control device 190.For example, the remote control device 190 receives a user actuation ofa first user button (e.g., a cycle button), and then identifies a firstInternet content channel that is currently being displayed on thedisplay device. The remote control device 190 obtains a preferredchannel list that includes a sequence of Internet content channels thatis associated with the first user account and arranged according to apredetermined channel order. The sequence of Internet content channelsincludes the first Internet content channel. Media content of eachInternet content channel is provided via the Internet by one of the oneor more content servers 114. In accordance with the preferred channellist, the remote control device 190 identifies a second Internet contentchannel that follows the first Internet content channel in the preferredchannel list, and transmits to the server system 140 a first channelchange message including information of the second Internet contentchannel to cause the Internet-connected display device 106 to displaymedia content provided by the second content channel. Further, in someimplementations, when the user consecutively actuates the first userbutton, media content received from the sequence of Internet contentchannel are sequentially displayed on the display device 106, therebyenabling channel surfing experience for the user.

Alternatively, in some implementations, media control operations areinitiated on the remote control device 190, but are partiallyimplemented by the casting device 108 or the server system 140 that iscommunicatively coupled to the display device 106. The remote controldevice 190 receives a user actuation on the first user button, and thecasting device 108 or the server system 140 identifies a first Internetcontent channel that is currently being displayed on the display device106. The casting device 108 or the server system 140 obtains a preferredchannel list that includes a sequence of Internet content channels thatis associated with the first user account and arranged according to apredetermined channel order. The sequence of Internet content channelsincludes the first Internet content channel. Media content of eachInternet content channel is provided via the Internet by one of the oneor more content servers 114. In accordance with the preferred channellist, the casting device 108 or the server system 140 identifies asecond Internet content channel that follows the first Internet contentchannel in the preferred channel list. In some implementations, afteridentifying the second Internet content channel, the server system 140sends a first channel change message including information of the secondcontent channel to the display or casting device to cause theInternet-connected display device 106 to display media content providedby the second content channel. Alternatively, in some implementations,after identifying the second Internet content channel or receivinginformation of the second Internet content channel, the casting device108 causes the display device 106 to display media content provided bythe second content channel. It is noted that in some implementations,the casting device 108 is embedded within and forms integral part of thedisplay device 106.

In some implementations, the user is associated with a client device 104that is installed with a cast device application configured to managethe remote control device 190, media play devices and smart home deviceslinked to the first user account. Specifically, the cast deviceapplication includes a user interface on which the user may log onto thefirst user account and select a plurality of Internet content channelsand arrange them according to a predetermined channel order. Thepredetermined channel order of the preferred channel list is thereforecustomized for the first user account, and the first and second Internetcontent channels are two consecutive programs in the sequence ofInternet content channels. When such channel surfing reaches the end ofthe preferred channel list, a subsequent user actuation on the firstuser button controls the display device 104 to move to a subsequentchannel from the start of the preferred channel list. Stated anotherway, the sequence of Internet content channels starts with the secondInternet content channel and ends with the first Internet contentchannel.

The media control operations initiated by the remote control device 190further includes switching through a sequence of programs of a specificInternet content channel (e.g. YouTube) in addition to switching throughthe sequence of Internet content channels. The remote control device 190further includes a previous button and a next button that are distinctfrom each other and from the first user button. When the specificInternet content channel is activated for display on the display device106, media content associated with a first program (e.g., a first musicvideo clip) of the sequence of programs is displayed on theInternet-connected display device 106. In response to a user actuationon the previous or next button, the remote control device 190 generatesa program scan request to request display of a second program providedby the specific Internet content channel. Information of the secondprogram is determined by one of the Internet-enabled casting device 108,the server 102 and a content server 114 of the specific Internet contentchannel based on a preferred program list associated with the specificInternet content channel and information of the first program. When theuser repeatedly actuates the previous or next button, media contentreceived from the sequence of programs are sequentially displayed on thedisplay device 106 according to the preferred program list, therebyenabling program surfing experience associated with the specificInternet content channel for the user.

The media control operations initiated by the remote control device 190further includes previewing media content received from a specificInternet content channel. The remote control device 190 further includesa plurality of user buttons. When the specific Internet content channelis activated for display on the display device 106, media contentassociated with a specific program (e.g., a movie clip that lasts formore than one hour) is displayed on the Internet-connected displaydevice 106. In response to a user actuation on one of the plurality ofuser buttons (e.g., a press on a second user button or an extended holdof the first user button), the remote control device 190 generates aprogram preview request for displaying a set of subsequent media frames(also called preview frames) related to the specific program. TheInternet-enabled casting device 108 coupled to the display device 106 isconfigured to enable a preview window for displaying the set ofsubsequent media frames on the display device 106, and the previewwindow is overlaid on the media content displayed on the display device.

Further, the media control operations initiated by the remote controldevice 190 further includes reviewing backdrop information related tocurrently displayed media content received from a specific Internetcontent channel. When the specific Internet content channel is activatedfor display on the display device 106, media content associated with aspecific program (e.g., a news clip) is displayed on theInternet-connected display device 106. In response to a user actuationof one of the plurality of user buttons (e.g., a press on a third userbutton or an extended hold of the first user button), the remote controldevice 190 generates a backdrop review request for displaying one ormore media items related to the first program. The server system 140 isconfigured to in response to the backdrop review request, obtaininformation of the one or more media items and provide the informationof the one or more media items to the display device 106 directly orindirectly via the casting device 108. In some implementations, theInternet-based casting device is 108 configured to enable display ofinformation of the one or more media items on the display device 106,and in response to a selection of one of the one or more media items bya viewer, enable display of media content corresponding to the selectedone of the one or more media items on the display device 106.

The aforementioned media control operations initiated by the remotecontrol device 190 involve neither use of a client device 104 (e.g., amobile phone) nor display of a complicated remote control interface onthe display device 106 or the remote control device 190 itself. Thesemedia control operations allow a user to use the remote control device190 to enjoy first-screen navigations among a sequence of Internetcontent channels, among a sequence of programs of each Internet contentchannel and within each individual program, although these Internetcontent channels are associated with different media content providersand media content provided by these Internet content channels isprovided from different content servers 114.

FIG. 3A is an example Internet-connected remote control device 190 thatincludes a plurality of user buttons and is configured to controlreviewing media content on an Internet-connected display device 106 in asmart media display environment 100 in accordance with someimplementations. FIG. 3B is a block diagram illustrating the remotecontrol device 190 shown in FIG. 3A in accordance with someimplementations. The plurality of user buttons of the remote controldevice 190 includes one or more of a power button 302, a home button304, a microphone button 306, a cycle button 308 (also called aplay/cycle button), a previous button 310, a next button 312, apreview/backdrop button 314 and a volume control button 316. A useractuation on the power button 302 powers on the display device 106coupled to the remote control device 190 when the display device 106 isoff prior to the user actuation, and powers off the display device 106when the display device 106 is on prior to the user actuation. A useractuation on the home button 304 controls the display device 106 todisplay a home screen. For example, the home screen displays a specificadvertisement clip or a randomly selected media program provided by apredetermined Internet content channel. In some implementations, thepower button 302 or the home button 304 functions as a quick cast buttonconfigured to enable immediate play of media content provided by aspecific Internet content channel. Further, a user actuation on themicrophone button 306 controls a speaker integrated in the remotecontrol device 190 to collect sound signals in the smart media displayenvironment 100, and voice commands are extracted from the sound signalsto control the smart home and media play devices located in the smartmedia display environment 100.

In some implementations, a user actuation on the cycle button 308launches media content of an Internet content channel in a list ofselected/preferred content channels (e.g., Netflix, Pandora, ESPN andYouTube), and consecutive user actuations of the cycle button 308 allowa user to browse through all Internet content channels in the preferredchannel list. Similarly, in some implementations, a user actuation onthe previous button 310 launches media content of a media program in apreferred program list of a specific Internet content channel (e.g.,Netflix), and consecutive user actuations of the previous button 310allow a user to browse through at least part (if not all) of mediaprograms in the preferred program list. Similar media display control ismade possible by one or more user actuation on the next button 312,except that the user actuations of the previous and next buttons resultin opposite orders of reviewing the media programs in the preferredprogram list of the specific Internet content channel.

In some implementations, the remote control device 190 includes adedicated button (e.g., the preview/backdrop button 314) for previewingupcoming content associated with a program that is currently displayedon the display device 106 or displaying backdrop information related tothe media content currently displayed on the display device 106.Alternatively, in some implementations, the remote control device 190configures an existing button (e.g., by requiring an extended buttonholding time on the cycle button 308) to trigger the media controlfunction of content previewing or backdrop reviewing.

Referring to FIG. 3B, the remote control device 190, typically, includesone or more processing units (CPUs) 322, one or more network interfaces324, memory 326, and one or more communication buses 328 forinterconnecting these components (sometimes called a chipset). Theremote control device 190 includes one or more input devices thatfacilitate user input, such as the plurality of user buttons 302-316 anda voice-command input unit or microphone. In some implementations, theremote control device 190 also includes one or more output devices thatenable presentation of user interfaces and display content, includingone or more speakers and/or one or more visual displays. Memory 326includes high-speed random access memory, such as DRAM, SRAM, DDR RAM,or other random access solid state memory devices; and, optionally,includes non-volatile memory, such as one or more magnetic disk storagedevices, one or more optical disk storage devices, one or more flashmemory devices, or one or more other non-volatile solid state storagedevices. Memory 326, optionally, includes one or more storage devicesremotely located from one or more processing units 322. Memory 326, oralternatively the non-volatile memory within memory 326, includes anon-transitory computer readable storage medium. In someimplementations, memory 326, or the non-transitory computer readablestorage medium of memory 326, stores the following programs, modules,and data structures, or a subset or superset thereof:

-   -   Operating system 330 including procedures for handling various        basic system services and for performing hardware dependent        tasks;    -   Network communication module 332 for connecting the remote        control device 190 to other devices (e.g., the server system        140, the display device 106, the casting device 108, the smart        home devices 120 and the client device 104) via one or more        network interfaces 160 (wired or wireless) and one or more        networks 112, such as the Internet, other wide area networks,        local area networks, metropolitan area networks, and so on;    -   Button command control module 334 for controlling media content        display on a display device coupled to the remote control device        190 in response to a user actuation on each of the user buttons        302-316 (e.g., implementing each of the media control functions        including, but not limited to, switching Internet content        channels according to a preferred channel list, switching        programs of an Internet content channel according to a preferred        program list, previewing media content of a currently display        media program and reviewing backdrop information related to        currently displayed media content);    -   Remote control data 336 storing at least data associated with        control of media display on the display device 106 coupled to        the remote control device 190, including:        -   Remote control settings 338 for storing information            associated with the remote control device 190 itself,            including common device settings (e.g., service tier, device            model, storage capacity, processing capabilities,            communication capabilities, etc.), media control functions            linked to individual buttons, commands and data for            implementing each of the media content functions, and            information of one or more user accounts with which the            remote control device is associated;        -   One or more preferred channel lists 340 for identifying a            subsequent Internet content channel that is displayed on the            display device 106 coupled to the remote control device 190            in response to a user actuation on the cycle button (or a            predetermined user button), where in some implementations,            each preferred channel list 340 is associated with a user            account managed by the server system 140; and        -   Display information 342 for storing information associated            with media content currently displayed on the display            device, including but not limited to, one or more of            information of an Internet content channel that provides            currently displayed media content, a media program of the            content channel that is currently displayed, and preferred            program lists for one or more Internet content channels.

FIG. 4 is a block diagram illustrating an example client device 104 thatis applied for controlling media devices, smart home devices and remotecontrol devices in a smart media display environment 100 in accordancewith some implementations. Examples of the client device include, butare not limited to, a mobile phone, a tablet computer and a wearablepersonal device. The client device 104, typically, includes one or moreprocessing units (CPUs) 402, one or more network interfaces 404, memory406, and one or more communication buses 408 for interconnecting thesecomponents (sometimes called a chipset). The client device 104 includesone or more input devices 410 that facilitate user input, such as akeyboard, a mouse, a voice-command input unit or microphone, a touchscreen display, a touch-sensitive input pad, a gesture capturing camera,or other input buttons or controls. Furthermore, some the client devices104 use a microphone and voice recognition or a camera and gesturerecognition to supplement or replace the keyboard. In someimplementations, the client device 104 includes one or more cameras,scanners, or photo sensor units for capturing images, for example, ofgraphic series codes printed on the electronic devices. The clientdevice 104 also includes one or more output devices 412 that enablepresentation of user interfaces and display content, including one ormore speakers and/or one or more visual displays.

Memory 406 includes high-speed random access memory, such as DRAM, SRAM,DDR RAM, or other random access solid state memory devices; and,optionally, includes non-volatile memory, such as one or more magneticdisk storage devices, one or more optical disk storage devices, one ormore flash memory devices, or one or more other non-volatile solid statestorage devices. Memory 406, optionally, includes one or more storagedevices remotely located from one or more processing units 402. Memory406, or alternatively the non-volatile memory within memory 406,includes a non-transitory computer readable storage medium. In someimplementations, memory 406, or the non-transitory computer readablestorage medium of memory 406, stores the following programs, modules,and data structures, or a subset or superset thereof:

-   -   Operating system 416 including procedures for handling various        basic system services and for performing hardware dependent        tasks;    -   Network communication module 418 for connecting the client        device 104 to other devices (e.g., the server system 140, the        display device 106, the casting device 108, the smart home        devices 120, the remote control devices 190 and the other client        devices 104) via one or more network interfaces 404 (wired or        wireless) and one or more networks 112, such as the Internet,        other wide area networks, local area networks, metropolitan area        networks, and so on;    -   User interface module 420 for enabling presentation of        information (e.g., a graphical user interface for presenting        application(s) 426-430, widgets, websites and web pages thereof,        and/or games, audio and/or video content, text, etc.) at the        client device 104 via one or more output devices 412 (e.g.,        displays, speakers, etc.);    -   Input processing module 422 for detecting one or more user        inputs or interactions from one of the one or more input devices        410 and interpreting the detected input or interaction;    -   Web browser module 424 for navigating, requesting (e.g., via        HTTP), and displaying websites and web pages thereof, including        a web interface for logging into a user account associated with        a casting device 108, a media application, a smart home device        120 or a remote control device 190, controlling the casting        device 108 or the smart home device 120 if associated with the        user account, and editing and reviewing settings and data that        are associated with the user account;    -   One or more applications for execution by the client device        (e.g., games, social network applications, smart home        applications, and/or other web or non-web based applications for        controlling the casting devices 108, the remote control device        190 and/or the smart home devices 120 and reviewing        data/settings associated with such devices), including one or        more of:        -   a casting device application 426 that is executed to provide            client-side functionalities for device provisioning, device            control, and user account management associated with casting            device(s) 108;        -   one or more media player applications 428 that is executed            to provide client-side functionalities for media display and            user account management associated with corresponding media            sources;        -   one or more smart home device applications 430 that are            executed to provide client-side functionalities for device            provisioning, device control, data processing and data            reviewing of corresponding smart home devices 120; and        -   one or more remote control modules 431 that are executed to            provide client-side functionalities for device provisioning,            device control and data processing of corresponding remote            control devices 190; and    -   client device data 432 storing at least data associated with        control of media display on the display device 106 coupled to        the remote control device 190, including:        -   Client device settings 434 for storing information            associated with the client device 104 itself, including            common device settings (e.g., service tier, device model,            storage capacity, processing capabilities, communication            capabilities, etc.), and information for automatic media            display control;        -   Casting device settings 436 for storing information            associated with user accounts of the casting device            application 426, including one or more of account access            information, information for device settings (e.g., service            tier, device model, storage capacity, processing            capabilities, communication capabilities, etc.), and            information for media display control;        -   Media player application settings 438 for storing            information associated with user accounts of one or more            media player applications 428, including one or more of            account access information, user preferences of media            content types, review history data, and information for            media display control;        -   Smart home device settings 440 for storing information            associated with user accounts of the smart home applications            430, including one or more of account access information,            information for smart home device settings (e.g., service            tier, device model, storage capacity, processing            capabilities, communication capabilities, etc.); and        -   Remote control settings 442 for storing information            associated with one or more remote control devices 190,            including but not limited to, one or more of common device            settings (e.g., service tier, device model, storage            capacity, processing capabilities, communication            capabilities, etc.), media control functions linked to            individual buttons, commands and data for implementing each            of the media content functions, information of one or more            user accounts with which the remote control device is            associated, one or more preferred channel lists for            identifying a sequence of Internet content channels, and            display information associated with media content currently            displayed on the display devices 106 coupled to the one or            more remote control devices 190.

In some implementations, each of the casting device application 426, themedia player applications 428, the smart home device applications 430and the remote control module 431 causes display of a respective userinterface on the output device 412 of the client device 104. Forexample, a user interface of a remote control module 431 could display anotification indicating that change of an Internet content channel or amedia program that is currently displayed on a display device coupled toa corresponding remote control device. The user interface of the remotecontrol module 431 could also prompt a user to create or change apreferred channel list associated with a user account. More details onthe aforementioned user interfaces are discussed below with reference toFIG. 7.

Each of the above identified elements may be stored in one or more ofthe previously mentioned memory devices, and corresponds to a set ofinstructions for performing a function described above. The aboveidentified modules or programs (i.e., sets of instructions) need not beimplemented as separate software programs, procedures, modules or datastructures, and thus various subsets of these modules may be combined orotherwise re-arranged in various implementations. In someimplementations, memory 406, optionally, stores a subset of the modulesand data structures identified above. Furthermore, memory 406,optionally, stores additional modules and data structures not describedabove.

FIG. 5 is a block diagram illustrating an example casting device 108applied for control of display of media content on a display device 106in a smart media display environment 100 in accordance with someimplementations. The casting device 108, typically, includes one or moreprocessing units (CPUs) 502, one or more network interfaces 504, memory506, and one or more communication buses 508 for interconnecting thesecomponents (sometimes called a chipset). Memory 506 includes high-speedrandom access memory, such as DRAM, SRAM, DDR RAM, or other randomaccess solid state memory devices; and, optionally, includesnon-volatile memory, such as one or more magnetic disk storage devices,one or more optical disk storage devices, one or more flash memorydevices, or one or more other non-volatile solid state storage devices.Memory 506, optionally, includes one or more storage devices remotelylocated from one or more processing units 502. Memory 506, oralternatively the non-volatile memory within memory 506, includes anon-transitory computer readable storage medium. In someimplementations, memory 506, or the non-transitory computer readablestorage medium of memory 506, stores the following programs, modules,and data structures, or a subset or superset thereof:

-   -   Operating system 516 including procedures for handling various        basic system services and for performing hardware dependent        tasks;    -   Network communication module 518 for connecting the casting        device 108 to other computers or systems (e.g., the server        system 140, the smart home devices 120 and the client device        104) via one or more network interfaces 504 (wired or wireless)        and one or more networks 112, such as the Internet, other wide        area networks, local area networks, metropolitan area networks,        cable television systems, satellite television systems, IPTV        systems, and so on;    -   Content Decoding Module 520 for decoding content signals        received from one or more content servers 114 and outputting the        content in the decoded signals to a display device 106 coupled        to the casting device 108, wherein the content decoding module        520 includes one or more media receiver applications 522 loaded        locally at the casting device 108 for enabling display of media        content provided by the Internet content channels associated        with the Internet content servers 114 on the display device 106;    -   Remote control module 524 for determining the proximity of the        client device 104 based on proximity related information that is        detected by the proximity detection unit 515 or provided by the        server system 140;    -   Casting device data 526 storing at least data associated with        control of media display on the display device 106, including:        -   Casting device settings 528 for storing information            associated with user accounts of a casting device            application, including one or more of account access            information, information for device settings (e.g., service            tier, device model, storage capacity, processing            capabilities, communication capabilities, etc.), and            information for automatic media display control;        -   Media player application settings 530 for storing            information associated with user accounts of one or more            media receiver applications 522, including one or more of            account access information, user preferences of media            content types, review history data, and preferred program            lists for Internet content channels corresponding to the            media receiver applications 522; and        -   Remote control settings 532 for storing information            associated with one or more remote control devices 190,            including but not limited to, one or more of common device            settings (e.g., service tier, device model, storage            capacity, processing capabilities, communication            capabilities, etc.), media control functions linked to            individual buttons, commands and data for implementing each            of the media content functions, information of one or more            user accounts with which the remote control device is            associated, one or more preferred channel lists for            identifying a sequence of Internet content channels, and            display information associated with media content currently            displayed on the display devices 106 coupled to the one or            more remote control devices 190.

Each of the above identified elements may be stored in one or more ofthe previously mentioned memory devices, and corresponds to a set ofinstructions for performing a function described above. The aboveidentified modules or programs (i.e., sets of instructions) need not beimplemented as separate software programs, procedures, modules or datastructures, and thus various subsets of these modules may be combined orotherwise re-arranged in various implementations. In someimplementations, memory 506, optionally, stores a subset of the modulesand data structures identified above. Furthermore, memory 506,optionally, stores additional modules and data structures not describedabove.

FIG. 6A is a block diagram illustrating a server 600 (e.g., a castdevice host 116) of a smart media display environment 100 in accordancewith some implementations. The server 600, typically, includes one ormore processing units (CPUs) 602, one or more network interfaces 604,memory 606, and one or more communication buses 608 for interconnectingthese components (sometimes called a chipset). The server 600 couldinclude one or more input devices 610 that facilitate user input, suchas a keyboard, a mouse, a voice-command input unit or microphone, atouch screen display, a touch-sensitive input pad, a gesture capturingcamera, or other input buttons or controls. Furthermore, the server 600could use a microphone and voice recognition or a camera and gesturerecognition to supplement or replace the keyboard. In someimplementations, the server 600 includes one or more cameras, scanners,or photo sensor units for capturing images, for example, of graphicseries codes printed on the electronic devices. The server 600 couldalso include one or more output devices 612 that enable presentation ofuser interfaces and display content, including one or more speakersand/or one or more visual displays.

Memory 606 includes high-speed random access memory, such as DRAM, SRAM,DDR RAM, or other random access solid state memory devices; and,optionally, includes non-volatile memory, such as one or more magneticdisk storage devices, one or more optical disk storage devices, one ormore flash memory devices, or one or more other non-volatile solid statestorage devices. Memory 606, optionally, includes one or more storagedevices remotely located from one or more processing units 602. Memory606, or alternatively the non-volatile memory within memory 606,includes a non-transitory computer readable storage medium. In someimplementations, memory 606, or the non-transitory computer readablestorage medium of memory 606, stores the following programs, modules,and data structures, or a subset or superset thereof:

-   -   Operating system 616 including procedures for handling various        basic system services and for performing hardware dependent        tasks;    -   Network communication module 618 for connecting the server        system 140 to other devices (e.g., various servers in the server        system 140, the client device 104, the casting device 108, and        the smart home devices 120) via one or more network interfaces        604 (wired or wireless) and one or more networks 112, such as        the Internet, other wide area networks, local area networks,        metropolitan area networks, and so on;    -   One or more applications for execution on the server side (e.g.,        games, social network applications, smart home applications,        and/or other web or non-web based applications for controlling        the client device 104, the casting devices 108, the smart home        devices 120 and the remote control device 190 and reviewing data        associated with such devices), including one or more of:        -   a casting device application 622 that is executed to provide            server-side functionalities for device provisioning, device            control, and user account management associated with casting            device(s) 108;        -   one or more media player applications 624 that is executed            to provide server-side functionalities for media display and            user account management associated with corresponding media            sources;        -   one or more smart home device applications 626 that is            executed to provide server-side functionalities for device            provisioning, device control, data processing and data            review of corresponding smart home devices 120; and        -   one or more remote control modules 628 that are executed to            provide server-side functionalities for device provisioning,            device control and data processing of corresponding remote            control devices 190; and    -   Server system data 630 storing at least data associated with        control of media display on the display device 106 coupled to        the remote control device 190, including:        -   User account settings 632 for storing account settings of            one or more user accounts and device settings of a            respective plurality of devices that is associated with each            of the user accounts and managed by the server 600, further            including:            -   client device settings 634 for storing information                associated with client devices 104, including common                device settings (e.g., service tier, device model,                storage capacity, processing capabilities, communication                capabilities, etc.), and information for automatic media                display control;            -   Casting device settings 636 for storing information                associated with casting devices 108 and user accounts of                casting device applications 622, including one or more                of account access information, information for device                settings (e.g., service tier, device model, storage                capacity, processing capabilities, communication                capabilities, etc.), and information for media display                control by the associated casting device 108;            -   Media application settings 638 for storing information                associated with user accounts of one or more media                player applications 624, including one or more of                account access information, user preferences of media                content types, and review history data;            -   Remote control settings 640 for storing information                associated with one or more remote control devices 190,                e.g., common device settings (e.g., service tier, device                model, storage capacity, processing capabilities,                communication capabilities, etc.), media control                functions linked to individual buttons, commands and                data for implementing each of the media content                functions, information of one or more user accounts with                which the remote control device is associated, and one                or more preferred channel lists for identifying a                sequence of Internet content channels; and            -   Device register 642 for storing information of one or                more user accounts managed by the server system 140 and                information of user devices associated with each of the                one or more user accounts; and        -   User account data 642 for storing data that are generated by            the applications 622-628 of a respective plurality of            devices associated with each of the user accounts managed by            the server system 140, e.g., display information associated            with media content currently displayed on the display            devices 106 coupled to the one or more remote control            devices 190.

Each of the above identified elements may be stored in one or more ofthe previously mentioned memory devices, and corresponds to a set ofinstructions for performing a function described above. The aboveidentified modules or programs (i.e., sets of instructions) need not beimplemented as separate software programs, procedures, modules or datastructures, and thus various subsets of these modules may be combined orotherwise re-arranged in various implementations. In someimplementations, memory 606, optionally, stores a subset of the modulesand data structures identified above. Furthermore, memory 606,optionally, stores additional modules and data structures not describedabove.

FIG. 6B is an example device register 650 of a server system 140 thatstores information of one or more user accounts managed by the server600 and information of user devices associated with each of the one ormore user accounts in accordance with some implementations. In thisexample, a user account 652 is defined according to an email address(e.g., abcgmail.com) and associated with a plurality of user devicesincluding casting devices 106 (e.g., Google Chromecast), a surveillancecamera 132 (e.g., Nest Camera) and a remote control device 190. Thedevice register 642 stores one or more of a device identification (ID),a device type, a device manufacturer ID and an Internet protocol (IP)address for each user device associated with the user account. Thedevice IDs are assigned to the user devices when the user devices arelinked to the user account 652. The manufacturer IDs includes productserial numbers provided by manufacturers to identify the user devicesuniquely. When each user device is being linked to the user account 652,the respective manufacturer ID is requested for the purposes ofauthenticate the respective user device. The IP addresses of the userdevices are applied to track the location of the user devices in theInternet. They are acquired during the course of linking the userdevices to the user account 652, and updated when locations of the userdevices are changed in the Internet.

In some implementations, a first user device associated with the useraccount 652 is linked to a second user device associated with the useraccount 652. For example, the remote control device 190 (Device ID=10)is linked to the casting device 108 (Device ID=1), but not to thecasting device 108 (Device ID=2). In some implementations, the useraccount 652 includes two or more remote control devices 190, each of theremote control devices 190 is uniquely linked to a specific castingdevice 108. In some implementations, the user account 652 includes oneremote control device 190 that are linked to more than one casting ordisplay device according to a predetermined linking rule (e.g.,according to a distance of the remote control device 190 to any one ofthe more than one casting or display device).

FIG. 7 is an example user interface 700 displayed on a client device 104for prompting a user to define a preferred channel list of a remotecontrol device 190 associated with a user account managed by a server600 in accordance with some implementations. The client device 104 isused to set forth the preferred channel list as part of remote controlsettings of the remote control device 190. When the remote controlsettings have been properly set for the remote control device 190, theremote control device 190 can independently initiate a plurality ofmedia control functions (e.g., channel surfing, program surfing, contentpreviewing and backdrop reviewing) without displaying a complicatedremote control interface on the client device 104 or a display device106 to request user intervention in channel switching/surfing.

In some implementations, the user interface 700 includes a preferredchannel control 702 to enable or disable a channel surfing functionrelated to a specific user button of the remote control device 190. Insome implementations, the user interface 700 is configured to prompt auser to enter user account credentials of the user account (e.g., a useraccount name 704 and password 706). When the user account name 704 andpassword 706 are verified, the server system 140 confirms whether theremote control device 190 has been linked to the user account andwhether the preferred channel list can be set forth or updated for theremote control device 190. In some implementations, the user interface706 further includes selectable information items 708 representing oneor more Internet content channels (e.g., Netflix, KQED Radio, Pandora,ESPN, YouTube, and SatelliteTV). The user clicks on a respectiveselectable square affordance 708 to add a corresponding Internet contentchannel to or remove it from the preferred channel list associated withthe user account. If an interested Internet content channel is notlisted on the user interface 700, the user clicks on an add-moreaffordance 712 to select the interested Internet content channel from anexpanded list of Internet content channels. The interested Internetcontent channel, once selected from the expanded list, is added to anddisplayed in the selectable information items 708 of the user interface700.

In some implementations, the user holds a touch on one of the listedInternet content channels on the user interface 700, and drags the oneof the listed Internet content channels up or down the preferred channellist. By this means, a sequence of Internet content channels of thepreferred channel list is arranged according to a predetermined channelorder. Alternatively, in some implementations, the user swipes left orright on the one of the listed Internet content channels, and the swipedInternet content channel is removed from the user interface 700 and hidinto the expanded list of Internet content channels associated with theadd more affordance 712.

FIGS. 8-10 illustrate Internet content channel reviewing processes 800,900 and 1000 initiated by a user actuation of a user button (e.g., thecycle button 308) on a remote control device 190 in accordance with someimplementations. A display device 106 associated with the remote controldevice 190 displays media content provided by a first Internet contentchannel at the time of the user actuation on the user button on theremote control device 190. The Internet content channel reviewingprocesses 800, 900 and 1000 rely on the remote control device 190, thedevice or casting device, and a remote server (e.g., the cast devicehost 116) to identify a second Internet content channel according to apreferred channel list, respectively. The second Internet contentchannel provides media content for display on the display device 106 inresponse to the user actuation on the user button on the remote controldevice 190. The remote control device 190 and the display device 106 areassociated with a first user account maintained by the remote server.

Referring to FIG. 8, the remote control device 190 includes one or moreprocessors 322 and memory 326 storing instructions for execution by theone or more processors 322. The Internet content channel reviewingprocess 800 is initiated and partially implemented by the remote controldevice 190. The remote control device 190 receives (802) a useractuation of a first user button (e.g., a press on a cycle button 308),and then identifies (804) a first Internet content channel that iscurrently being displayed on the display device. In someimplementations, the information of the first Internet content channelwas stored or updated in the memory of the remote control device 190when the first Internet content channel was last selected for display onthe display device. In some implementations, information of the firstInternet content channel is downloaded from the remote server inresponse to the user actuation on the first user button, and theinformation of the first Internet content channel was previouslyprovided to the remote server when the first Internet content channelwas last selected for display on the display device 106. In someimplementations, the information of the first Internet content channelis obtained from the display device 106 or a casting device 108 coupledto the display device 106.

The remote control device 190 obtains a preferred channel list thatincludes a sequence of Internet content channels that is associated withthe first user account and arranged according to a predetermined channelorder. The sequence of Internet content channels includes the firstInternet content channel. Media content of each Internet content channelis provided via the Internet by one of the one or more content servers114. In some implementations, the preferred channel list is downloadedfrom the remote server, and stored in the memory of the remote controldevice 190. The preferred channel list could be downloaded from theremote server every time when the display device 106 is powered on,every time when the Internet-enabled casting device 108 is powered on,in response to the user actuation on the first user button or when theremote control device receives from the remote server an update commandto request an update of the preferred channel list in the remote controldevice 190. Optionally, the server is configured to send the updatecommand to request the update of the preferred channel list in theremote control device 190 when the preferred channel list is modified bya user.

In accordance with the preferred channel list, the remote control device190 identifies (806) a second Internet content channel that follows thefirst Internet content channel in the preferred channel list. In someimplementations, information of the second Internet content channel isstored in the memory of the remote control device 190, and used torespond to another actuation on the first user button that follows thefirst user actuation.

In some implementations, the remote control device 190 transmits (808)to the remote server a first channel change message includinginformation of the second Internet content channel, and the remoteserver then causes (810) the Internet-connected display device 106 todisplay media content provided by the second content channel.Alternatively, in some implementations, the remote control device 190provides (812) the information of the second Internet content channeldirectly to the display device 106 or the casting device 108 via ashort-range communication link or a local area network. Upon receivingthe information of the second Internet content channel, the castingdevice 108 executes (814) a media receiver application 522 correspondingto the second Internet content channel, requests (816) media contentfrom a content host server 114 corresponding to the second Internetcontent channel, and receives (818) the media content for display on thedisplay device 106.

In some implementations, the display device 106 is associated with theInternet-enabled casting device 108 configured to receive the mediacontent from the sequence of Internet content channels. TheInternet-enabled casting device 108 is configured to receive (e.g., 812)Internet tuning information for the second Internet content channel(including the information of the second Internet content channel) andexecute (e.g., 814) a receiver application corresponding to the secondInternet content channel for displaying the media content provided bythe second Internet content channel. In some implementations, thecasting device 108 is configured to execute a distinct receiverapplication to enable display of each Internet content channel of thesequence of Internet content channels on the display device 106. In somesituations, the remote control device 190 is communicatively coupled tothe Internet-based casting device 108 via a short-range radiocommunication network using a Bluetooth-based wireless protocol, andconfigured to exchange data with the Internet-based casting device 108via the short-range radio communication network. The remote controldevice 190 can receive from the casting device 108 the preferred channellist via the short-range radio communication network, and provide to thecasting device 108 the information of the second Internet contentchannel via the short-range radio communication network.

In some implementations, the remote control device 190 iscommunicatively coupled in a local area network 110, and configured todirectly communicate with the remote server and exchange data with theremote server via the local area network. The remote control device 190receives from the remote server the preferred channel list via the localarea network without involving an Internet-enabled casting device 108,and provides the information of the second Internet content channel viathe local area network to the server that is configured to provide theinformation of the second Internet content channel to theInternet-enabled casting device 108.

Referring to FIG. 9, the casting device 106 is coupled to the displaydevice 108, and includes one or more processors 502 and memory 506storing instructions for execution by the one or more processors 502.The Internet content channel reviewing process 900 is initiated at theremote control device 190, and however, the second Internet contentchannel is identified by the casting device 190. The remote controldevice 190 receives (902) a user actuation of a first user button (e.g.,a press on a cycle button 308). In response to the user actuation on thefirst user button, the casting device 106 identifies (904) a firstInternet content channel that is currently displayed on the displaydevice 108. In some implementations, information of the first Internetcontent channel is stored in and retrieved from the memory 506 of thecasting device 108. In some implementations, the remote control device190 sends a channel cycle request directly (906A) to a remote server viaone or more communication networks 112, or indirectly (906B) to theremote server via a short-range communication link with the casting ordisplay device. The remote server identifies the first user accountassociated with the remote control device 190, determines the firstInternet content channel associated with the first user account, andprovides (906C) the information of the first Internet content channel tothe casting device 108.

Additionally, the casting device 108 obtains (908) a preferred channellist that includes a sequence of Internet content channels that isassociated with the first user account and arranged according to apredetermined channel order. The sequence of Internet content channelsincludes the first Internet content channel. Media content of eachInternet content channel is provided via the Internet by one of the oneor more content servers 114. In some implementations, the preferredchannel list is downloaded from the remote server, and stored in thememory of the casting device 190. The preferred channel list could bedownloaded from the remote server every time when the display device 106or the casting device 108 is powered on, in response to the useractuation on the first user button or when the remote control devicereceives from the remote server an update command to request an updateof the preferred channel list in the casting device 108. Optionally, theremote server is configured to send the update command to request theupdate of the preferred channel list in the casting device 108 when thepreferred channel list is modified by a user.

In accordance with the preferred channel list, the casting device 108identifies (910) a second Internet content channel that follows thefirst Internet content channel in the preferred channel list, and causesthe display device 106 to display media content provided by the secondInternet content channel. Specifically, upon identifying the secondInternet content channel, the casting device 108 executes (912) a mediareceiver application 522 corresponding to the second Internet contentchannel, requests (914) media content from a content host server 114corresponding to the second Internet content channel, and receives (916)the media content for display on the display device 106. In someimplementations, information of the second Internet content channel isstored in the memory of the remote control device and/or updated to theremote server, and used to respond to a subsequent actuation on thefirst user button that follows the first user actuation.

Referring to FIG. 10, a remote server (e.g., the content host server114) includes one or more processors 602 and memory 606 storinginstructions for execution by the one or more processors 602. TheInternet content channel reviewing process 1000 is initiated at theremote control device 190, and however, the second Internet contentchannel is identified by the remote server. The remote control device190 receives (1002) a user actuation of a first user button (e.g., apress on a cycle button 308). The remote control device 190 sends achannel cycle request directly (1004A) to the remote server via one ormore communication networks 112, or indirectly (1004B) to the remoteserver via a short-range communication link with the casting or displaydevice. Upon receiving the channel cycle request and in response to theuser actuation on the first user button, the remote server identifies(1006) the first user account associated with the remote control device190, and determines a first Internet content channel that is currentlydisplayed on the display device 108 associated with the first useraccount. Alternatively, in some implementations, information the firstInternet content channel is obtained from the memory of the castingdevice 108.

Additionally, the remote server obtains (1008) a preferred channel listthat includes a sequence of Internet content channels that is associatedwith the first user account and arranged according to a predeterminedchannel order. The sequence of Internet content channels includes thefirst Internet content channel. Media content of each Internet contentchannel is provided via the Internet by one of the one or more contentservers 114. In some implementations, the preferred channel list isstored in the memory of the remote server in association with thedisplay device 106 associated with the first user account. The preferredchannel list could be downloaded and updated to one or more of thedisplay device 106, the casting device 108 and the remote control device190 every time when the display device 106 or the casting device 108 ispowered on, in response to the user actuation on the first user buttonor when the remote control device receives from the remote server anupdate command to request an update of the preferred channel list in thedisplay device 106, the casting device 108 and the remote control device190 associated with the first user account. Optionally, the remoteserver is configured to send the update command to request the update ofthe preferred channel list in devices associated with the first useraccount when the preferred channel list is modified by a user.

In accordance with the preferred channel list, the remote serveridentifies (1010) a second Internet content channel that follows thefirst Internet content channel in the preferred channel list, and sends(1012) a first channel change message including information of thesecond Internet content channel to cause the Internet-connected displaydevice 106 to display media content provided by the second Internetcontent channel. Specifically, upon receiving the information of thesecond Internet content channel, the casting device 108 executes (1014)a media receiver application 522 corresponding to the second Internetcontent channel, requests (1016) media content from a content hostserver 114 corresponding to the second Internet content channel, andreceives (1018) the media content for display on the display device 106.In some implementations, information of the second Internet contentchannel is stored in the memory of the casting device 108 or the remoteserver, and used to respond to a subsequent actuation on the first userbutton that follows the first user actuation.

In accordance with any of the Internet content channel reviewingprocesses 800, 900 and 1000, when a user consecutively actuates thefirst user button, media content received from the sequence of Internetcontent channels of the preferred channel list are sequentiallydisplayed on the display device 106, thereby enabling channel surfingexperience for the user.

FIG. 11 is a block diagram showing a program reviewing processes 1100initiated by a user actuation of a user button (e.g., a previous button310 and a next button 312) on a remote control device 190 in accordancewith some implementations. Media content provided by an Internet contentchannel (e.g., the second Internet content channel shown in FIGS. 8-10)is associated with a first program (e.g., a first music video clip)provided by the Internet content channel. Optionally, a casting device108 coupled to the display device 104 executes (1102) a receiverapplication to display media content provided by the Internet contentchannel. In response to a user actuation of one of the previous and nextbuttons 310 and 312, the remote control device 190 generates (1104) aprogram scan request to request display of a second program provided bythe Internet content channel.

Information of the second program is determined by one of the displaydevice 106, the casting device 108, the remote server and a contentserver 114 of the Internet content channel based on a preferred programlist associated with the Internet content channel and information of thefirst program. In an example as shown in FIG. 11, in response to theprogram scan request, the display or casting device identifies (1106)the first program, and sends (1108) information of the first program tothe remote server. In some implementations, in response to the programscan request, the remote server (e.g., the cast device host 116)identifies (1110) the first program associated with the first useraccount.

In some implementations not shown in FIG. 11, the remote serverretrieves from its own memory a preferred program list associated withthe Internet content channel according to the first user account, whilein some other implementations as shown in FIG. 11, the remote serverreceives (1112) from the content server 114 the preferred program list.The remote server then identifies (1114) a second program that followsor precedes the first program in the preferred program list, andprovides (1116) information of the second program to the receiverapplication executed on the casting device 108 for displaying the mediacontent of the second program on the display device 106.

Although FIG. 11 shows a program reviewing process 1110 that relies onthe remote server (e.g., the cast device host 116) to identify thesecond program offered by the Internet content channel, it is noted thatthe information of the first program and preferred program list can beprovided to any other device (e.g., the display device 106, the castingdevice 108, the remote control device 190 and the content server 114),such that the respective device is used to implement a similar programreviewing process to identify the second program. Information of thesecond program can be provided by the respective device to the displayor casting device for displaying the media content of the second programon the display device 106.

In some implementations, the first user account is associated with aguest review account of the Internet content channel, and the preferredprogram list associated with the Internet content channel includes asequence of preferred programs arranged according to a default orderdefined by the Internet content channel for guests of the Internetcontent channel. The first and second programs are two consecutiveprograms in the preferred program list. In some situations, when thenext button 312 is actuated, the second program follows the firstprogram in the preferred program list, and when the previous button 310is pressed, the second program precedes the first program in thepreferred program list. Alternatively, in some implementations, thefirst user account is associated with a user review account of theInternet content channel, and the preferred program list associated withthe Internet content channel includes a sequence of preferred programsarranged according to a predetermined program order customized for theuser review account of the Internet content channel. The first andsecond programs are two consecutive programs in the sequence ofpreferred programs. For example, when the Internet content channelincludes YouTube, the preferred program list includes a playlist of aYouTube user account. In some implementations, the preferred programlist starts with the second program and ends with the first program.

In accordance with the program reviewing processes 1100, the useractuation on the previous button 310 launches media content of a mediaprogram in the preferred program list of a specific Internet contentchannel (e.g., Netflix), and consecutive user actuations of the previousbutton 310 allow a user to browse through at least part (if not all) ofmedia programs in the preferred program list of the specific Internetchannel. Similar media display control is made possible by one or moreuser actuation on the next button 312, except that the user actuationsof the previous and next buttons result in opposite orders of reviewingthe media programs in the preferred program list of the specificInternet content channel. Stated another way, when the user repeatedlyactuates the previous or next button, media content received from thesequence of programs are sequentially displayed on the display device106 according to the preferred program list, thereby enabling programsurfing experience associated with the specific Internet content channelfor the user.

FIG. 12 is a block diagram showing a content previewing processes 1200initiated by a user actuation of a user button (e.g., a preview/backdropbutton 314) on a remote control device 190 in accordance with someimplementations. Media content provided by an Internet content channel(e.g., the second Internet content channel shown in FIGS. 8-10) isassociated with a first program (e.g., a first music video clip)provided by the Internet content channel. Optionally, a casting device108 coupled to the display device 104 executes (1102) a receiverapplication to display media content provided by the Internet contentchannel. In response to a user actuation of the preview/backdrop button314, the remote control device 190 generates (1104) a program previewrequest to request display of a set of subsequent media frames (alsocalled preview frames) related to the first program of the Internetcontent channel. In some implementations, the program preview request isgenerated in accordance with a determination that the user actuation ofthe preview/backdrop button includes a press lasting for a duration oftime longer than a threshold time length.

In some implementations, in response to the program preview request, thedisplay or casting device identifies (1106) the first program that isdisplayed thereon and a current time pointer associated with a videoframe that is currently displayed. Alternatively, in someimplementations, in response to the program preview request, the castdevice host 116 determines (1108) the first program that is displayed onthe display device and the current time pointer associated with thevideo frame that is currently displayed. Specifically, the cast devicehost 116 identifies the first user account associated with the remotecontrol device 190, determines the casting and display devicesassociated with the first user account, and therefore, obtainsinformation of the first program and current time pointer. Then, theinformation of the first program and current time pointer is sent to thecontent server 114 for identifying (1110) the set of subsequent mediaframes following a currently displayed video frame of the first program.The content server 114 provides (1112) the set of subsequent mediaframes to the display or casting device for display on the displaydevice 106. In some implementations, the Internet-enabled casting device108 coupled to the display device 106 enables (1114) a preview windowfor displaying the set of subsequent media frames on the display device106, and the preview window is overlaid on the media content displayedon the display device 106.

FIG. 13 is a block diagram showing a backdrop reviewing processes 1300initiated by a user actuation of a user button (e.g., a preview/backdropbutton 314) on a remote control device 190 in accordance with someimplementations. Media content provided by a specific Internet contentchannel (e.g., the second Internet content channel shown in FIGS. 8-10)is associated with a first media content item (e.g., a news clip or amusic video clip) provided by the specific Internet content channel.Optionally, a casting device 108 coupled to the display device 104executes (1302) a first receiver application to display the first mediacontent item provided by the specific Internet content channel. Inresponse to a user actuation of the preview/backdrop button 314, theremote control device 190 generates (1304) a backdrop review request torequest display of backdrop media items related to the first mediacontent item provided by the specific Internet content channel. In someimplementations, the backdrop review request is generated in accordancewith a determination that the user actuation of the preview/backdropbutton includes a press lasting for a duration of time longer than athreshold time length.

The backdrop review request is sent directly (1306B) to the remoteserver (e.g., the cast device host 116) via one or more communicationnetworks 112, or indirectly (1306A) to the remote server via ashort-range communication link with the casting or display device. Inresponse to the backdrop review request, the cast device host 116determines (1308) the first media content item that is displayed on thedisplay device 106, and identifies (1310) at least a second mediacontent item related to the first media content item. The cast devicehost 116 then sends a media play command to instruct the display orcasting device to play the second media content item. Specifically, thecast device host 116 sends (1312) a media content request to request thesecond media content item from a corresponding content server 114. Thecontent server 114 transfers (1314) the second media content item to thedisplay or casting device for display on the display device 106. Thecasting device 108 executes a second receiver application to enabledisplay of the second media content item on the display device 106. Insome implementations, the second receiver application is distinct fromthe first receiver application.

Specifically, in some implementations, one or more media items relatedto the first media content item are identified by the cast device host116 based on an Internet-based search. In some implementations, inresponse to the backdrop review request, the cast device host 116provides information of the one or more media items to the displaydevice 106 via the Internet-based casting device 108. The Internet-basedcasting device 108 enables display of the information of the one or moremedia items on the display device 104, and in response to a selection ofone of the one or more media items by a viewer, enables display of mediacontent corresponding to the selected one of the one or more media itemson the display device 106. Further, in some implementations, theInternet-based casting device 108 enables display of the first mediacontent item of the specific Internet content channel by a firstreceiver application, and display of the selected one of the one or moremedia items by a second receiver application that is distinct from thefirst receiver application

Processes 800, 900, 1000, 1100, 1200 and 1300 are, optionally, governedby instructions that are stored in a non-transitory computer readablestorage medium and that are executed by one or more processors of aremote control device 190, a display device 106, a cast device, and aserver system 140. Each of the operations shown in FIGS. 8-13 maycorrespond to instructions stored in the computer memory or computerreadable storage medium (e.g., memory 326 of the remote control device190 in FIG. 3B). The computer readable storage medium may include amagnetic or optical disk storage device, solid state storage devicessuch as Flash memory, or other non-volatile memory device or devices.The computer readable instructions stored on the computer readablestorage medium may include one or more of: source code, assemblylanguage code, object code, or other instruction format that isinterpreted by one or more processors. Some operations in each of theprocesses 800, 900, 1000, 1100, 1200 and 1300 may be combined and/or theorder of some operations may be changed.

It should be understood that the particular order in which theoperations in FIGS. 8-13 have been described are merely exemplary andare not intended to indicate that the described order is the only orderin which the operations could be performed. One of ordinary skill in theart would recognize various ways to cache and distribute specific dataas described herein. Additionally, it should be noted that details ofother processes described with respect to any one of processes 800-1300are also applicable in an analogous manner to other processes ofprocesses 800-1300. For brevity, these details are not repeated.

FIG. 14 is a flowchart of a method 1400 of reviewing Internet contentchannels on an Internet-connected display device 104 in accordance withsome implementations. The method is implemented at an Internet-connectedremote control device 190 having a first user button (e.g., a cyclebutton 308), one or more processors (e.g., CPU 322), and memory 326storing instructions for execution by the one or more processors. Theremote control device 190 and the display device 106 are associated witha first user account maintained at a server (e.g., a cast device host116 of a server system 140). In response to receiving a user actuationof the first user button, the remote control device 190 identifies(1402) a first Internet content channel that is currently beingdisplayed on the display device 106, and obtains (1404) a preferredchannel list that includes a sequence of Internet content channels thatis associated with the first user account and that is arranged accordingto a predetermined channel order. The sequence of Internet contentchannels includes the first Internet content channel. In accordance withthe preferred channel list, the remote control device identifies (1406)a second Internet content channel that follows the first Internetcontent channel in the preferred channel list, and transmits (1408) tothe server a first channel change message including information of thesecond Internet content channel to cause the Internet-connected displaydevice 106 to display media content provided by the second Internetcontent channel.

In some implementations, the remote control device 190 is configured tocontrol display of media content received from the sequence of Internetcontent channels on the display device 106, and the display device 104is associated with an Internet-enabled casting device 108 configured toreceive the media content from the sequence of Internet contentchannels. Further, in some implementations, the Internet-enabled castingdevice 108 is configured to execute a distinct receiver application toenable display of each Internet content channel of the sequence ofInternet content channels on the display device 106.

In some implementations, the predetermined channel order of thepreferred channel list is customized for the first user account, and thefirst and second Internet content channels are two consecutive programsin the sequence of Internet content channels. Further, in someimplementations, the sequence of Internet content channels is selectedand arranged to the predetermined channel order on a user interfacedisplayed on a client device 104.

In some implementations, the remote control device 190 downloads fromthe server the preferred channel list, and stores/updates the preferredchannel list in the memory of the remote control device 190. Further, insome implementations, the preferred channel list is downloaded from theserver every time when the display device is powered on, every time whenthe Internet-enabled casting device is powered on, in response to theuser actuation of the first user button or when the remote controldevice receives from the server an update command to request an updateof the preferred channel list in the remote control device 190. In somesituations, the server is configured to send the update command torequest the update of the preferred channel list in the remote controldevice when the preferred channel list associated with the first useraccount is modified. Likewise, in some implementations, the remotecontrol device 190 downloads from the server the information of thefirst Internet content channel, and stores/updates the information ofthe first Internet content channel in the memory of the remote controldevice.

In some implementations, the user actuation of the first user buttonincludes a first user actuation. After identifying the second Internetcontent channel, the remote control device 190 stores information of thesecond Internet content channel in the memory of the remote controldevice. The information of the second Internet content channel is usedto respond to a second actuation of the first user button that followsthe first user actuation.

In some implementations, the remote control device 190 further includesa previous button 310 and a next button 312 that are distinct from eachother and from the first user button. The media content provided by thesecond Internet content channel is displayed on the display device, andincludes a first program provided by the second Internet contentchannel. In response to a user actuation of one of the previous and nextbuttons, the remote control device 190 generates a program scan requestto request display of a second program provided by the second Internetcontent channel. Information of the second program is determined by oneof an Internet-enabled casting device, the server and a content host ofthe second Internet content channel based on a preferred program listassociated with the second Internet content channel and information ofthe first program. Further, in some implementations, when the nextbutton is actuated, the second program follows the first program in thepreferred program list, and when the backward button is pressed, thesecond program precedes the first program in the preferred program list.Further, in some implementations, the first user account is associatedwith a user review account of the second Internet content channel, andthe preferred program list associated with the second Internet contentchannel includes a sequence of preferred programs arranged according toa predetermined program order customized for the user review account ofthe second Internet content channel, the first and second programs beingtwo consecutive programs in the sequence of preferred programs.

In some implementations, the remote control device comprises a pluralityof buttons including the first user button. The media content providedby the second Internet content channel is displayed on the displaydevice, and includes a first program provided by the second Internetcontent channel. In response to a user actuation of one of the pluralityof buttons on the remote control device, the remote control device 190generates a program preview request for displaying a set of previewframes related to the first program. Further, in some implementations,the program preview request is generated in accordance with adetermination that the user actuation of the one of the plurality ofbuttons includes a press lasting for a duration of time longer than athreshold time length.

In some implementations, the remote control device 190 has a pluralityof buttons including the first user button. The media content providedby the second Internet content channel is displayed on the displaydevice 106, and includes a first program provided by the second Internetcontent channel. In response to a user actuation of one of the pluralityof buttons on the remote control device, the remote control device 190generates a backdrop review request for displaying one or more mediaitems related to the media content currently displayed on the displaydevice. Further, in some implementations, the Internet-enabled castingdevice 108 is configured to enable display of the media content of thesecond Internet content channel by a first receiver application anddisplay of the selected one of the one or more media items by a secondreceiver application that is distinct from the first receiverapplication.

More details on the method 1400 for reviewing Internet content channelson an Internet-connected display device are explained above withreference to FIGS. 8-13. Method 1400 is, optionally, governed byinstructions that are stored in a non-transitory computer readablestorage medium and that are executed by one or more processors of anelectronic device (e.g., a remote control device 190). Each of theoperations shown in FIG. 14 may correspond to instructions stored in thecomputer memory or computer readable storage medium (e.g., memory 326 ofthe remote control device 190 in FIG. 3B). The computer readable storagemedium may include a magnetic or optical disk storage device, solidstate storage devices such as Flash memory, or other non-volatile memorydevice or devices. The computer readable instructions stored on thecomputer readable storage medium may include one or more of: sourcecode, assembly language code, object code, or other instruction formatthat is interpreted by one or more processors. Some operations in themethod 1400 may be combined and/or the order of some operations may bechanged.

It should be understood that the particular order in which theoperations in FIG. 14 have been described are merely exemplary and arenot intended to indicate that the described order is the only order inwhich the operations could be performed. One of ordinary skill in theart would recognize various ways to cache and distribute specific dataas described herein. Additionally, it should be noted that details ofother processes described with respect to any one of processes 800-1300are also applicable in an analogous manner to the method 1400. Forbrevity, these details are not repeated.

It will also be understood that, although the terms first, second, etc.are, in some instances, used herein to describe various elements, theseelements should not be limited by these terms. These terms are only usedto distinguish one element from another. For example, a first type ofaudio feature can be termed a second type of audio feature, and,similarly, a second type of audio feature can be termed a first type ofaudio feature, without departing from the scope of the various describedimplementations. The first type of audio feature and the second type ofaudio feature are both types of audio features, but they are not thesame type of audio feature.

The terminology used in the description of the various describedimplementations herein is for the purpose of describing particularimplementations only and is not intended to be limiting. As used in thedescription of the various described implementations and the appendedclaims, the singular forms “a”, “an” and “the” are intended to includethe plural forms as well, unless the context clearly indicatesotherwise. It will also be understood that the term “and/or” as usedherein refers to and encompasses any and all possible combinations ofone or more of the associated listed items. It will be furtherunderstood that the terms “includes,” “including,” “comprises,” and/or“comprising,” when used in this specification, specify the presence ofstated features, integers, steps, operations, elements, and/orcomponents, but do not preclude the presence or addition of one or moreother features, integers, steps, operations, elements, components,and/or groups thereof.

As used herein, the term “if” is, optionally, construed to mean “when”or “upon” or “in response to determining” or “in response to detecting”or “in accordance with a determination that,” depending on the context.Similarly, the phrase “if it is determined” or “if [a stated conditionor event] is detected” is, optionally, construed to mean “upondetermining” or “in response to determining” or “upon detecting [thestated condition or event]” or “in response to detecting [the statedcondition or event]” or “in accordance with a determination that [astated condition or event] is detected,” depending on the context.

It is to be appreciated that “smart media display environments” mayrefer to smart environments for homes such as a single-family house, butthe scope of the present teachings is not so limited. The presentteachings are also applicable, without limitation, to duplexes,townhomes, multi-unit apartment buildings, hotels, retail stores, officebuildings, industrial buildings, and more generally any living space orwork space.

It is also to be appreciated that while the terms user, customer,installer, homeowner, occupant, guest, tenant, landlord, repair person,and the like may be used to refer to the person or persons acting in thecontext of some particularly situations described herein, thesereferences do not limit the scope of the present teachings with respectto the person or persons who are performing such actions. Thus, forexample, the terms user, customer, purchaser, installer, subscriber, andhomeowner may often refer to the same person in the case of asingle-family residential dwelling, because the head of the household isoften the person who makes the purchasing decision, buys the unit, andinstalls and configures the unit, and is also one of the users of theunit. However, in other scenarios, such as a landlord-tenantenvironment, the customer may be the landlord with respect to purchasingthe unit, the installer may be a local apartment supervisor, a firstuser may be the tenant, and a second user may again be the landlord withrespect to remote control functionality. Importantly, while the identityof the person performing the action may be germane to a particularadvantage provided by one or more of the implementations, such identityshould not be construed in the descriptions that follow as necessarilylimiting the scope of the present teachings to those particularindividuals having those particular identities.

Although various drawings illustrate a number of logical stages in aparticular order, stages that are not order dependent may be reorderedand other stages may be combined or broken out. While some reordering orother groupings are specifically mentioned, others will be obvious tothose of ordinary skill in the art, so the ordering and groupingspresented herein are not an exhaustive list of alternatives. Moreover,it should be recognized that the stages can be implemented in hardware,firmware, software or any combination thereof.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific implementations. However, theillustrative discussions above are not intended to be exhaustive or tolimit the scope of the claims to the precise forms disclosed. Manymodifications and variations are possible in view of the aboveteachings. The implementations were chosen in order to best explain theprinciples underlying the claims and their practical applications, tothereby enable others skilled in the art to best use the implementationswith various modifications as are suited to the particular usescontemplated.

1. A method of reviewing Internet content channels on anInternet-connected display device, comprising: at an Internet-connectedremote control device having a first user button, one or moreprocessors, and memory storing instructions for execution by the one ormore processors, wherein the remote control device and the displaydevice are distinct from each other and are associated with a first useraccount maintained at a server: in response to receiving a useractuation of the first user button of the Internet-connected remotecontrol device: identifying a first Internet content channel that iscurrently being displayed on the display device; obtaining a preferredchannel list that includes a sequence of Internet content channels thatis associated with the first user account and that is arranged accordingto a predetermined channel order, wherein the sequence of Internetcontent channels includes the first Internet content channel; inaccordance with the preferred channel list, identifying a secondInternet content channel that follows the first Internet content channelin the preferred channel list; and transmitting by theInternet-connected remote control, to the server, a first channel changemessage including information of the second Internet content channel tocause the Internet-connected display device to display media contentprovided by the second Internet content channel, wherein the server isdistinct from one or more content hosts configured to provide mediacontent for the sequence of Internet content channels.
 2. The method ofclaim 1, wherein the Internet-connected remote control device isdisposed in proximity to the display device.
 3. The method of claim 1,wherein the remote control device is configured to control display ofmedia content received from the sequence of Internet content channels onthe display device, and the display device is associated with anInternet-enabled casting device configured to receive the media contentfrom the sequence of Internet content channels.
 4. The method of claim3, wherein the Internet-enabled casting device is configured to executea distinct receiver application to enable display of each Internetcontent channel of the sequence of Internet content channels on thedisplay device.
 5. The method of claim 1, wherein the predeterminedchannel order of the preferred channel list is customized for the firstuser account, and the first and second Internet content channels are twoconsecutive programs in the sequence of Internet content channels. 6.The method of claim 5, wherein the sequence of Internet content channelsis selected and arranged to the predetermined channel order on a userinterface displayed on a client device.
 7. The method of claim 1,further comprising: downloading from the server the preferred channellist; and storing or updating the preferred channel list in the memoryof the remote control device.
 8. The method of claim 7, wherein thepreferred channel list is downloaded from the server every time when thedisplay device is powered on, every time when the Internet-enabledcasting device is powered on, in response to the user actuation of thefirst user button or when the remote control device receives from theserver an update command to request an update of the preferred channellist in the remote control device.
 9. The method of claim 8, wherein theserver is configured to send the update command to request the update ofthe preferred channel list in the remote control device when thepreferred channel list associated with the first user account ismodified.
 10. The method of claim 1, further comprising: downloadingfrom the server the information of the first Internet content channel;and storing or updating the information of the first Internet contentchannel in the memory of the remote control device.
 11. An electronicdevice for reviewing Internet content channels on an Internet-connecteddisplay device, wherein the electronic device and the display device areassociated with a first user account maintained at a server, theelectronic device comprising: a first user button; one or moreprocessors; and memory storing one or more programs to be executed bythe one or more processors, the one or more programs comprisinginstructions for: in response to receiving a user actuation of the firstuser button of the Internet-connected remote control device: identifyinga first Internet content channel that is currently being displayed onthe display device; obtaining a preferred channel list that includes asequence of Internet content channels that is associated with the firstuser account and that is arranged according to a predetermined channelorder, wherein the sequence of Internet content channels includes thefirst Internet content channel; in accordance with the preferred channellist, identifying a second Internet content channel that follows thefirst Internet content channel in the preferred channel list; andtransmitting by the Internet-connected remote control, to the server, afirst channel change message including information of the secondInternet content channel to cause the Internet-connected display deviceto display media content provided by the second Internet contentchannel, wherein the server is distinct from one or more content hostsconfigured to provide media content for the sequence of Internet contentchannels.
 12. The electronic device of claim 11, wherein the useractuation of the first user button includes a first user actuation, andthe one or more programs further comprise instructions for: afteridentifying the second Internet content channel, storing information ofthe second Internet content channel in the memory of the electronicdevice, wherein the information of the second Internet content channelis used to respond to a second actuation of the first user button thatfollows the first user actuation.
 13. The electronic device of claim 11,wherein the electronic device further includes a previous button and anext button that are distinct from each other and from the first userbutton, and the one or more programs further comprise instructions for:while the media content provided by the second Internet content channelis displayed on the display device, the media content displayed on thedisplay device including a first program provided by the second Internetcontent channel: in response to a user actuation of one of the previousand next buttons, generating a program scan request to request displayof a second program provided by the second Internet content channel,wherein information of the second program is determined by one of anInternet-enabled casting device, the server and a content host of thesecond Internet content channel based on a preferred program listassociated with the second Internet content channel and information ofthe first program.
 14. The electronic device of claim 13, wherein whenthe next button is actuated, the second program follows the firstprogram in the preferred program list, and when the backward button ispressed, the second program precedes the first program in the preferredprogram list.
 15. The electronic device of claim 13, wherein the firstuser account is associated with a user review account of the secondInternet content channel, and the preferred program list associated withthe second Internet content channel includes a sequence of preferredprograms arranged according to a predetermined program order customizedfor the user review account of the second Internet content channel, thefirst and second programs being two consecutive programs in the sequenceof preferred programs.
 16. A non-transitory computer readable storagemedium storing one or more programs to be executed by one or moreprocessors of an electronic device for reviewing Internet contentchannels on an Internet-connected display device, wherein the electronicdevice and the display device are distinct from each other and areassociated with a first user account maintained at a server, the one ormore programs comprising instructions for: in response to receiving auser actuation of the first user button of the Internet-connected remotecontrol device: identifying a first Internet content channel that iscurrently being displayed on the display device; obtaining a preferredchannel list that includes a sequence of Internet content channels thatis associated with the first user account and that is arranged accordingto a predetermined channel order, wherein the sequence of Internetcontent channels includes the first Internet content channel; inaccordance with the preferred channel list, identifying a secondInternet content channel that follows the first Internet content channelin the preferred channel list; and transmitting by theInternet-connected remote control, to the server, a first channel changemessage including information of the second Internet content channel tocause the Internet-connected display device to display media contentprovided by the second Internet content channel, wherein the server isdistinct from one or more content hosts configured to provide mediacontent for the sequence of Internet content channels.
 17. Thenon-transitory computer readable storage medium of claim 16, wherein theelectronic device comprises a plurality of buttons including the firstuser button, and the one or more programs further comprise instructionsfor: while the media content provided by the second Internet contentchannel is displayed on the display device, the media content displayedon the display device including a first program provided by the secondInternet content channel: in response to a user actuation of one of theplurality of buttons on the electronic device, generating a programpreview request for displaying a set of preview frames related to thefirst program.
 18. The non-transitory computer readable storage mediumof claim 17, wherein the program preview request is generated inaccordance with a determination that the user actuation of the one ofthe plurality of buttons includes a press lasting for a duration of timelonger than a threshold time length.
 19. The non-transitory computerreadable storage medium of claim 16, wherein the electronic devicecomprises a plurality of buttons including the first user button, andthe one or more programs further comprise instructions for: while themedia content provided by the second Internet content channel isdisplayed on the display device, the media content displayed on thedisplay device including a first program provided by the second Internetcontent channel: in response to a user actuation of one of the pluralityof buttons on the electronic device, generating a backdrop reviewrequest for displaying one or more media items related to the mediacontent currently displayed on the display device.
 20. Thenon-transitory computer readable storage medium of claim 19, wherein theInternet-enabled casting device is configured to enable display of themedia content of the second Internet content channel by a first receiverapplication and display of the selected one of the one or more mediaitems by a second receiver application that is distinct from the firstreceiver application.